Skip to content

feat: remove Roomote Control from extension#11271

Draft
roomote[bot] wants to merge 1 commit intomainfrom
feature/CLO-765-remove-roomote-control
Draft

feat: remove Roomote Control from extension#11271
roomote[bot] wants to merge 1 commit intomainfrom
feature/CLO-765-remove-roomote-control

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Feb 6, 2026

Remove all Roomote Control (remote control) functionality from the extension.

Changes

Types (packages/types/)

  • Remove extensionBridgeEnabled from CloudUserInfo interface
  • Remove roomoteControlEnabled from organizationFeaturesSchema and userFeaturesSchema
  • Remove extensionBridgeEnabled from userSettingsConfigSchema
  • Remove remoteControlEnabled and featureRoomoteControlEnabled from ExtensionState
  • Remove "remoteControlEnabled" from webview message types

Cloud Package (packages/cloud/)

  • Delete entire bridge/ directory (BridgeOrchestrator, ExtensionChannel, TaskChannel, SocketTransport, BaseChannel)
  • Remove BridgeOrchestrator export from index
  • Clean up StaticSettingsService (remove roomoteControlEnabled and extensionBridgeEnabled)
  • Clean up StaticTokenAuthService (remove extensionBridgeEnabled from user info)
  • Clean up WebAuthService (remove extensionBridgeEnabled logic and isExtensionBridgeEnabledForOrganization)

Extension (src/)

  • Remove BridgeOrchestrator import and bridge disconnect from extension.ts deactivate
  • Remove remoteControlEnabled() calls from auth/settings handlers
  • Remove ClineProvider.remoteControlEnabled() method entirely
  • Remove remoteControlEnabled and featureRoomoteControlEnabled from getState()
  • Remove enableBridge from Task class and all bridge subscription logic
  • Remove "remoteControlEnabled" message handler from webviewMessageHandler

WebView UI (webview-ui/)

  • Remove remote control toggle from CloudView
  • Remove remoteControlEnabled, featureRoomoteControlEnabled from ExtensionStateContext
  • Update CloudTaskButton to show for all logged-in users (instead of gating on extensionBridgeEnabled)
  • Remove remote control translation strings from all 18 locale files

Tests

  • Update all related test files across packages/types, packages/cloud, src, and webview-ui
  • Remove BridgeOrchestrator mocks from test files
  • Remove bridge-related test cases

56 files changed, 25 insertions, 2,761 deletions


View task on Roo Code Cloud


Important

Remove all Roomote Control functionality from the extension, including types, cloud package components, extension logic, UI elements, and tests.

  • Types:
    • Remove extensionBridgeEnabled from CloudUserInfo.
    • Remove roomoteControlEnabled from organizationFeaturesSchema and userFeaturesSchema.
    • Remove extensionBridgeEnabled from userSettingsConfigSchema.
    • Remove remoteControlEnabled and featureRoomoteControlEnabled from ExtensionState.
    • Remove "remoteControlEnabled" from webview message types.
  • Cloud Package:
    • Delete entire bridge/ directory (including BridgeOrchestrator, ExtensionChannel, TaskChannel, SocketTransport, BaseChannel).
    • Remove BridgeOrchestrator export from index.
    • Clean up StaticSettingsService, StaticTokenAuthService, and WebAuthService to remove related logic.
  • Extension:
    • Remove BridgeOrchestrator import and bridge disconnect from extension.ts deactivate.
    • Remove remoteControlEnabled() calls from auth/settings handlers.
    • Remove ClineProvider.remoteControlEnabled() method entirely.
    • Remove remoteControlEnabled and featureRoomoteControlEnabled from getState().
    • Remove enableBridge from Task class and all bridge subscription logic.
    • Remove "remoteControlEnabled" message handler from webviewMessageHandler.
  • WebView UI:
    • Remove remote control toggle from CloudView.
    • Remove remoteControlEnabled, featureRoomoteControlEnabled from ExtensionStateContext.
    • Update CloudTaskButton to show for all logged-in users.
    • Remove remote control translation strings from all 18 locale files.
  • Tests:
    • Update all related test files across packages/types, packages/cloud, src, and webview-ui.
    • Remove BridgeOrchestrator mocks from test files.
    • Remove bridge-related test cases.

This description was created by Ellipsis for dc40ba1. You can customize this summary. It will automatically update as commits are pushed.

Remove all Roomote Control (remote control) functionality:

- Remove BridgeOrchestrator and entire bridge directory from @roo-code/cloud
- Remove remoteControlEnabled, featureRoomoteControlEnabled from extension state
- Remove extensionBridgeEnabled from CloudUserInfo and user settings
- Remove roomoteControlEnabled from organization/user feature schemas
- Remove enableBridge from Task and ClineProvider
- Remove remote control toggle from CloudView UI
- Remove remoteControlEnabled message handler
- Remove extension bridge disconnect on logout/deactivate
- Update CloudTaskButton to show for all logged-in users
- Remove remote control translation strings from all locales
- Update all related tests

CLO-765
@roomote
Copy link
Contributor Author

roomote bot commented Feb 6, 2026

Rooviewer Clock   See task

Clean removal overall. Two minor cleanup items left behind by the deletion of the bridge subsystem:

  • getOrganizationMetadata in WebAuthService.ts is now dead code (its only caller isExtensionBridgeEnabledForOrganization was removed)
  • socket.io-client in packages/cloud/package.json has no remaining consumers after the bridge directory was deleted

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

Comment on lines -757 to -760
private async isExtensionBridgeEnabledForOrganization(organizationId: string): Promise<boolean> {
const orgMetadata = await this.getOrganizationMetadata(organizationId)
return orgMetadata?.public_metadata?.extension_bridge_enabled === true
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing isExtensionBridgeEnabledForOrganization leaves the private getOrganizationMetadata method (lines 721-744) with zero callers -- it's now dead code. Worth removing it in this PR to keep the cleanup complete.

Fix it with Roo Code or mention @roomote and request a fix.

Comment on lines 4 to -5

export { BridgeOrchestrator } from "./bridge/index.js"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the bridge directory deleted, socket.io-client in packages/cloud/package.json has no remaining consumers. Consider removing it to avoid shipping an unused dependency.

Fix it with Roo Code or mention @roomote and request a fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant